package wxusers

import (
	"context"

	"github.com/starter-go/rbac"
)

// Service (aka WeixinAppletUserService)
type Service interface {
	Find(c context.Context, id ID) (*DTO, error)

	FindByOpenID(c context.Context, openid string) (*DTO, error)

	HasOpenID(c context.Context, openid string) bool

	SignUp(c context.Context, item *DTO) (*DTO, error)

	SignIn(c context.Context, item *DTO) (*rbac.UserDTO, error)
}
